#ifndef _ORNAMENT_MODE_H_
#define _ORNAMENT_MODE_H_


#include <string>

using namespace std;
namespace DesignMode{

	


	class ParaGraph{
	public:
		ParaGraph(const std::string& inInitialText):mText(inInitialText){}

		virtual std::string getHTML() const { return mText;}


	protected:
		std::string mText;
	};


	class BoldParaGraph : public ParaGraph{
	public:
		BoldParaGraph(const ParaGraph& in) : ParaGraph(""), mWrapped(in){}

		virtual std::string getHTML() const {
			return "<b> " + mWrapped.getHTML() + " </b>";
		}

	protected:
		const ParaGraph& mWrapped;
	};


	class ItalicParaGraph : public ParaGraph{
	public:
		ItalicParaGraph(const ParaGraph& in) : ParaGraph(""), mWrapped(in){}
		virtual std::string getHTML() const {
			return "<i> " + mWrapped.getHTML() + " </i>";
		}

	protected:
		const ParaGraph& mWrapped;
	};




};


#endif